package databases

import (
	"errors"
	"fmt"
	"gorm.io/gorm"
	"vote.zozoo.net/pkg/config"
)

var (
	db *gorm.DB
)

func InitGormDb(cfg *config.Database) (gormDB *gorm.DB, err error) {
	if cfg == nil {
		return nil, fmt.Errorf("数据库配置不能为空")
	}

	switch cfg.Type {
	case "mysql":
		if gormDB, err = initMysql(&cfg.Mysql); err != nil {
			return nil, err
		}
	default:
		return nil, errors.New("连接类型不存在")
	}
	db = gormDB
	return gormDB, nil
}

// GetGormDb 获取orm连接对象
func GetGormDb() (*gorm.DB, error) {
	if db == nil {
		return nil, errors.New("连接不存在")
	}

	return db, nil
}
